<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script type="text/javascript">
    /*不带参数*/
    function obj(){
        this.name='toy';
        this.age='23';
        this.say=function(){
            alert('我的名字叫'+this.name+'今年'+this.age);
        }
    }
//    把函数当做一个对象
//    prototype 属性使你有能力向对象中加入属性和方法
//    obj.prototype.sex='woman';
    var a=new obj();//这样new obj函数对象，a就能访问obj()的属性值和方法
////    var a=obj();  是不对
//    console.log(a.name);
//    console.log(a.sex);
    console.log(a.say());



//    带参数
    function obj1(name){
        if(name){
            this.name=name;
        }
        return this;
    }
//    obj1.prototype.name='name2';
//    或者  带了参数的函数和没有带参数的函数是不一样的
    var b=new obj1('name2');
    var a=obj1('name1');
    console.log(b.name);
    console.log(a.name);

//    另一个例子 带了参数的
    function employee(name,job,born){
        this.name=name;
        this.job=job;
        this.born=born;
    }
    employee.prototype.age=26;
    var bill=new employee('name');

    console.log(bill.name);
    console.log(bill.age);

</script>
</body>
</html>